package com.zbkj.service.service;

import com.zbkj.dal.entity.product.ProductTab;
import com.zbkj.dal.entity.product.ProductTabRelation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.dal.pojo.request.ba.TabProductRequest;
import com.zbkj.dal.pojo.response.ProductFrontResponse;

import java.util.List;

/**
 * <p>
 * 商品与tab关系表 服务类
 * </p>
 *
 * @author jhui
 * @since 2023-12-03
 */
public interface ProductTabService {

    List<ProductTab> getAllEnableProductTabs(Integer enable);

    /**
     * 按ID删除tab关系
     * @param productId
     */
    void deleteByProductId(Integer productId);

    /**
     * 获取Tab
     * @param productId
     * @return
     */
    List<ProductTabRelation> listByProductId(Integer productId);

    void saveProductTabRelation(Integer productId, List<String> tabCodes);

    /**
     * 移动端按tab展示商品
     * @param tabProductRequest
     * @return
     */
    List<ProductFrontResponse> listTabProducts(TabProductRequest tabProductRequest);

    void addProductTab(String name, Integer sort, Integer enable);

    void modifyProductTab(String code, String name, Integer sort, Integer enable);

    List<ProductTab> findProductTabByViewIn(List<String> view);
}
